package com.caocaog.market.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.caocaog.market.entity.*;
import com.caocaog.market.vo.GoodsInfoVo;
import com.caocaog.market.vo.ShopVo;
import org.jeecg.common.api.vo.Result;

import java.util.List;

/**
 * 店铺信息表
 *
 * @author jeecg-boot
 * @date 2021-11-19
 */
public interface IShopBasicService extends IService<ShopBasic> {
    List<AreaProvince> selectAreaProvinceList();

    List<AreaCity> selectAreaCityList(Integer id);

    List<AreaDistrict> selectAreaDistrictList(Integer id);

    AreaDistrict selectAreaDistrictOne(Integer id);

    ShopBasic selectOneByUserForServe();

    String addForServe(ShopBasic shopBasic);

    List<GoodsInfoVo> selectGoodsVoByShopId(String id);

//    Result shopListByChannelId(String channelId, String lat, String lng);
List<ShopVo> selectShopListAndTakeOutInfoByRecommend(ShopBasic shopBasic);
    //送大侠-根据频道搜索门店
    Result shopListByChannelIdForSDX(String channelId, String lat, String lng);

    Result<?> shopListByChannelId(String siteId, String channelId, String lat, String lng);
    List<ShopVo> selectShopListAndTakeOutInfo( List<String> ids,
                                              Integer recommend);
    List<ShopVo> selectShopListAndTakeOutInfoByRecommend(String siteId, ShopBasic shopBasic);

    List<ShopVo> getSurroundingServeShop(String lat, String lng, String siteId);

    ShopBasic getShopInfo(String shopId, String lat, String lng);

    /**
     * 根据商家id集合获取店铺id集合
     * @param merchantIds 商家id集合
     * @return 店铺id集合
     */
    List<String> getShopIdsByMerchantIds(List<String> merchantIds);

    /**
     * 根据商家id获取店铺集合
     * @param merchantId 商家id
     * @return 店铺集合
     */
    List<ShopBasic> getShopByMerchantId(String merchantId);

    /**
     * 根据商家id获取店铺集合，正在营业的
     * @param merchantId 商家id
     * @return 店铺集合
     */
    List<ShopBasic> getOpenShopByMerchantId(String merchantId);
}
